package com.epsilon.pos.principal;

import java.io.IOException;
import java.util.Calendar;

import com.epsilon.commons.context.login.model.CommonsLoginException;
import com.epsilon.commons.context.model.ContextoDeAplicacion;
import com.epsilon.commons.util.WidgetsUtil;
import com.epsilon.pos.principal.bd.SesionBD;
import com.epsilon.pos.principal.context.providers.ContextPrincipalDaoProvider;
import com.epsilon.pos.principal.ventas.dao.VentasPrincipalDao;
import com.epsilon.pos.principal.ventas.dao.VentasPrincipalDaoImpl;
import com.epsilon.pos.principal.ventas.delegator.VentasPrincipalCalculadorControl;
import com.epsilon.pos.principal.ventas.model.ArticuloUnitarioVenta;
import com.epsilon.pos.principal.ventas.model.Venta;
import com.epsilon.pos.principal.ventas.model.VentasPrincipalException;
import com.epsilon.pos.principal.ventas.view.VentasPrincipalCalculadorShell;

@SuppressWarnings( "unused" )
public class Pruebas {
	public static void main( String [] args ) throws IOException, CommonsLoginException, VentasPrincipalException {
		SesionBD.inicializarConexionConBD();
//		ContextoDeAplicacion c = ContextPrincipalDaoProvider.getCommonscontextdao().getContextoDeAplicacion( "root", "clave", null );
//		
//		System.out.println( "IDCtx    : " + c.getIdContextoDeAplicacion() );
//		System.out.println( "DescCtx  : " + c.getDescripcion() );
//		
//		System.out.println( "IDLugar  : " + c.getLugarDeEjecucion().getIdLugarDeEjecucion() );
//		System.out.println( "DescLugar: " + c.getLugarDeEjecucion().getDescripcion() );
//		
//		System.out.println( "IDRol    : " + c.getRolDeUsuario().getIdRolDeUsuario() );
//		System.out.println( "DescRol  : " + c.getRolDeUsuario().getDescripcion() );
//		
//		System.out.println( "IDusu   : " + c.getUsuario().getIdUsuario() );
//		System.out.println( "Nom     : " + c.getUsuario().getNombres() );
//		System.out.println( "Ap1     : " + c.getUsuario().getApellido1() );
//		System.out.println( "Ap2     : " + c.getUsuario().getApellido2() );
//		System.out.println( "Nomc    : " + c.getUsuario().getNombreCortoDeUsuario() );
//		System.out.println( "desc    : " + c.getUsuario().getDescripcion() );
//		System.out.println( "clave   : " + c.getUsuario().getClave() );
//		
//		System.out.println( Calendar.getInstance().getTimeInMillis() );
//		VentasPrincipalCalculadorShell alfa = null; 
//		VentasPrincipalCalculadorControl calc = VentasPrincipalCalculadorControl.getInstance( null );
//		WidgetsUtil.inicializarShellCentrado( alfa = calc.getVentasPrincipalCalculadorShell() );
//		
//		System.out.println( alfa.getMontoRecibido() );
		
		VentasPrincipalDao dao = new VentasPrincipalDaoImpl( SesionBD.getSqlSessionFactory() );
		Venta v = dao.getVentaPorPk( 80 );
		
		System.out.println( v.getCodigoDeTicket() );
		
		for( ArticuloUnitarioVenta auv : v.getMapaDeArticulosUnitariosComprados().values() ) {
			System.out.println( "-------------------------------------------" );
			System.out.println( auv.getArticuloUnitario().getDescripcion() );
			System.out.println( auv.getArticuloUnitario().getCodigo() );
			System.out.println( "Precio: " + auv.getPrecioDeVenta() );
		}
		System.out.println( "-------------------------------------------" );
		
		System.out.println( v.getAuxListaDeArticulosUnitariosComprados() );
		System.out.println( v.getContextoDeAplicacion().getDescripcion() );
		System.out.println( v.getContextoDeAplicacion().getLugarDeEjecucion().getDescripcion() );
		System.out.println( v.getContextoDeAplicacion().getRolDeUsuario().getDescripcion() );
		System.out.println( v.getContextoDeAplicacion().getUsuario().getNombreCortoDeUsuario() );
		System.out.println( "ESTATUS  :" + v.getEstatusVenta() );
		System.out.println( "FECHA    :" + v.getFechaDeVenta() );
		System.out.println( "ID VENTA :" + v.getIdVenta() );
		System.out.println( "SALIDA   :" + v.getMontoDeSalida() );
		System.out.println( "RECIBIDO :" + v.getMontoRecibido() );
		System.out.println( "TOTAL    : " + v.getTotalDeVenta() );
	}
}
